home *** CD-ROM | disk | FTP | other *** search
/ Saar AMOK 2 / Saar AMOK II - Oktober 1994 (1994)(Kreativ Marketing)(DE)[!][I-7598].iso / tools / getcdfile / getcdfile.dok < prev    next >
Text File  |  1994-06-05  |  32KB  |  825 lines

  1.  
  2.                                ==================
  3.                                 GetCDFile V1.18(D)
  4.                                ==================
  5.  
  6.                     Ein CDRom File Server für ungepackte CDs
  7.  
  8.                © by TømTøm Software 1994 written by Th. Strauß'93
  9.  
  10.                                =================
  11.  
  12.  
  13.  
  14. Disclaimer
  15. ----------
  16. GetCDFile ist Shareware.  Nach in Betriebnahme der Software darf der
  17. Betreiber die Software 30 Tage lang nutzen. Danach muss er sich
  18. entweder registrieren lassen, oder die Software wieder löschen.
  19. Für die Verwendung des Programms als Teil von oder als Zugabe zu
  20. kommerziellen Produkten ist eine schriftliche Erlaubnis des Autors
  21. erforderlich.
  22. Die Sharewaregebühr beträgt 20 DM, zu zahlen an den Autor (s.unten).
  23. Wer GetCDFile auf einer CD funktionsfähig installiert verteilen will,
  24. benötigt das schriftliche Einverständnis des Autors.
  25. Ist GetCDFile ohne die enstprechenden Index-Files auf der CD, also
  26. nicht einsetzbar, ist keine Einverständniserklärung notwendig.
  27. GetCDFile darf nicht zur Verbreitung von Raubkopien eingesetzt werden.
  28. GetCDFile ist frei kopierbar, solange das Archiv unverändert bleibt.
  29.  
  30. GetCDFile verwendet das externe AXPR Interface und die Online.library
  31. 1.05 von TOM-Software Wuppertal sowie LHA von Stefan Boberg.
  32. Das Copyright zu diesen Programmen liegt bei den jew.  Autoren, bzw.
  33. Softwarefirmen.
  34.  
  35. Ein Dankeschön geht an alle registrierten User und insbesondere an
  36. Manfred Jost, der GetCDFile als ß-Tester mitgeformt hat.
  37.  
  38. Sinn und Zweck
  39. --------------
  40. GetCDFile  ist  aus der Notwendigkeit entstanden ein CD-Rom in eine Mailbox
  41. einzubinden.   Grundsätzlich  ist  das  kein  Problem,  allerdings  gibt es
  42. verschiedene  sehr  interessante  CDs,  die  sich nicht dazu eignen, da die
  43. Daten ungepackt vorliegen.  Ein gutes Beispiel ist die SaarAG CD, die neben
  44. den SaarAG Disketten auch noch die AMOK Serie enthält.
  45.  
  46. Für  den  normalen  Anwender  ist  es  zwar äusserst angenehm, wenn er alle
  47. Programme direkt starten kann, aber für Mailboxbetreiber ist eine solche CD
  48. uninteressant,  da sie nicht eingebunden werden kann.  GetCDFile schafft in
  49. einem  solchen  Fall  Abhilfe!   Was  natürlich nicht heisst, daß GetCDFile
  50. nicht auch "einfach so" als CDRom Server funktionieren würde :-)
  51.  
  52. Wie funktioniert GetCDFile
  53. --------------------------
  54. GetCDFile  arbeitet  mit einem Indexfile, das den Inhalt der CD wiedergibt,
  55. die eingebunden werden soll.  GetCDFile unterscheidet hierbei zwischen File
  56. (Endung ".idx") und Disk-Indizes (Endung ".idxd").
  57. Die  Verwendung  eines  Indexfiles erscheint auf den ersten Blick unsinnig.
  58. Aber  auf vielen CDs sind Copyright-geschützte Dateien, die bei Programmen,
  59. die  direkt  die  CD  verwenden, illegalerweise zum Download bereit stehen.
  60. Als Beispiel sei hier nur die FreshDish CD genannt, auf der sich die System
  61. Includes und FD-Files befinden.  Diese sind © Commodore !
  62. Desweiteren  kann  man  eine  normalerweise nicht thematisch angeordnete CD
  63. nach   Themengebieten   sortieren,   indem  man  einfach  Themenorientierte
  64. Indexfiles anlegt.  Es gibt noch weitere Vorteile, aber dazu später.
  65.  
  66. Dem Nutzer wird das Indexfile als mehrspaltige Tabelle angezeigt, in der er
  67. sich  auf  einfache  Art  und  Weise  Dateien  zum Download markieren kann.
  68. Bevor dann der Download ansich stattfindet, hat der Nutzer nocheinmal die
  69. Chance seine "Bestellung" zu überprüfen, bevor dann endgültig ein Packer
  70. die selektierten Dateien in einem Archiv zusammenfasst und per ZModem
  71. überträgt.
  72.  
  73. Installation
  74. ------------
  75. - Öffnen Sie eine Shell und wechseln Sie in das Verzeichnis, in dem sich
  76.   das GetCDFile-Archiv befindet.
  77.   "cd <pfad>"
  78.  
  79. - entpacken Sie das GetCDFile Archiv in die Ram-Disk
  80.   "lha -I x GetCDFile118.lha ram: "
  81.  
  82. - wechseln Sie in das Verzeichnis RAM:
  83.   "cd RAM:"
  84.  
  85. - starten Sie das Installskript.
  86.   Einziger Parameter ist das Zielverzeichnis.
  87.  
  88.   Das Zielverzeichnis ist sinnvollerweise das Verzeichnis, in dem Sie ihre
  89.   ganzen Onlineprogramme aufbewahren.
  90.  
  91. >> WICHTIG! Der Zielpfad MUSS mit ":" oder "/" enden!
  92.  
  93.   Rufen Sie das Script nun auf:
  94.   "execute GetCDFile/install <zielpfad>"
  95.  
  96. - Beachten Sie Fehlermeldungen des Installationsvorganges. Besorgen Sie
  97.   sich eventuell noch fehlende Teile des Paketes. Eine Bezugsadresse wird
  98.   angegeben.
  99.  
  100. GetCDFile sollte nun fertig installiert sein. Was bleibt, ist die Einbindung in
  101. Ihr Mailboxprogramm.
  102.  
  103. Hinweise zur Einbindung in ein Mailboxprogramm
  104. ----------------------------------------------
  105. - GetCDFile übernimmt die serielle Schnittstelle komplett. Das bedeutet,
  106.   daß Ihr Mailboxprogramm vor dem Start von GetCDFile die serielle
  107.   Schnittstelle freigeben muß!
  108.  
  109. - GetCDFile arbeitet nach dem AmNet Standard. Dieser Standard wird
  110.   von recht vielen Mailboxprogrammen beherrscht. Z.Bsp. FastCall,
  111.   EuroMail, ANUBIS, Connectline ...
  112.  
  113. - GetCDFile benötigt (AmNet-Standard) die Datei "ram:UserParam".
  114.   Normalerweise wird sie kurz vor dem Aufruf des Onlineprogrammes erzeugt.
  115.   Sollte Ihr Mailboxprogramm NICHT in der Lage sein, eine derartige Datei
  116.   zu erzeugen, müssen Sie aber nicht verzweifeln. Diese Datei kann leicht
  117.   nachgebildet werden. Eine Beschreibung des Aufbaus befindet sich im
  118.   Anhang.
  119.   Sollte auch eine Nachbildung nicht möglich sein, können Sie sich auch an
  120.   uns wenden. Wir werden sehen, was wir für Sie tun können.
  121.  
  122. - GetCDFile ist grundsätzlich Multiportfähig. Wenn MultiPort gefahren
  123.   werden soll, MUSS (!) eine Datei "ram:OnlineData" existieren. Diese
  124.   Datei wird bisher m.W. nur von ANUBIS unterstützt, kann aber auch leicht
  125.   nachgebildet werden. Eine Beschreibung findet sich im Anhang.
  126.   Sollte eine Nachbildung auch hier nicht möglich sein, schreiben Sie uns
  127.   an, wir werden sehen, was sich machen lässt.
  128.   Hinweis für FastCall Nutzer: Für FastCall ist ein RexxScript beigelegt,
  129.   das die UserParam Datei in eine OnlineData-Datei wandelt.
  130.  
  131. Hinweise zur Installation für ANUBIS
  132. ------------------------------------
  133.  
  134. >>> Wenn Sie das Installationsskript verwendet haben, können Sie Schritt
  135. >>> 1-5 ausser Acht lassen!
  136.  
  137. 1. Kopieren Sie die Online.library (>=1.5), Lha und AXpr in ihren
  138.    Suchpfad, wenn dies nicht schon der Fall ist.
  139.  
  140. 2. Entpacken Sie das Archiv nach ANUBIS:OnlinePrg/
  141.  
  142. 3. Erstellen Sie eine Batchdatei "ANUBIS:OnlinePrg/GetCDFile/RunMe"
  143.    mit folgendem Inhalt:
  144.  
  145.       cd ANUBIS:OnlinePrg/GetCDFile
  146.       GetCDFile
  147.  
  148. 4. Setzen Sie das "S" Bit mit dem Befehl:
  149.       PROTECT ANUBIS:OnlinePrg/GetCDFile/RunMe +s
  150.  
  151. 5. Setzen Sie das "S" Bit für PackIt mit dem Befehl:
  152.       PROTECT ANUBIS:OnlinePrg/GetCDFile/PackIt +s
  153.  
  154. 6. Edieren Sie die Datei "ANUBIS:Daten/OnlinePrg"
  155.    Fügen Sie folgende Zeile ein:
  156.  
  157.    CDRom, ANUBIS:OnlinePrg/GetCDFile/RunMe, <LEVEL>, CDRom FileServer
  158.  
  159.    Wobei <LEVEL> hier den Userlevel angibt, ab dem ein Nutzer dieses Programm
  160.    aufrufen darf.
  161.  
  162. 7. Starten Sie ANUBIS ggf. neu, um die Änderungen wirksam zu machen.
  163.  
  164. Hinweise zur Installation für FastCall
  165. --------------------------------------
  166.  
  167. >>> Wenn Sie das Installationsskript verwendet haben, können Sie Schritt
  168. >>> 1-5 ausser Acht lassen!
  169.  
  170. 1. kopieren Sie die Online.library (>=1.05), Lha und AXpr in ihren
  171.    Suchpfad, wenn dies nicht schon der Fall ist.
  172.  
  173. 2. Entpacken Sie das Archiv in Ihr Verzeichnis für Onlineprogramme
  174.    (z.Bsp FastCall:Doors/). Dieses Verzeichnis wird im folgenden mit
  175.    <PFAD> bezeichnet.
  176.  
  177. 3. Erstellen Sie eine Batchdatei "<PFAD>/GetCDFile/RunMe"
  178.    mit folgendem Inhalt:
  179.  
  180.       cd <PFAD>/GetCDFile
  181.       GetCDFile
  182.  
  183. 4. Setzen Sie das "S" Bit mit dem Befehl:
  184.       PROTECT <PFAD>/GetCDFile/RunMe +s
  185.  
  186. 5. Setzen Sie das "S" Bit für PackIt mit dem Befehl:
  187.       PROTECT <PFAD>/GetCDFile/PackIt +s
  188.  
  189. 6. Binden Sie RunMe als Onlineprogramm ein. Parameter "AmNet-Ramfile"
  190.  
  191. 7. Starten Sie FastCall ggf. neu, um die Änderungen wirksam zu machen.
  192.  
  193. Hinweise zum Multiport Betrieb unter FastCall
  194. ---------------------------------------------
  195.  
  196. Seit Version 1.18(D) liegt GetCDFile ein Rexx-Script bei, das aus einem
  197. Multiport AmNet-Ramfile eine OnlineData-Struktur erzeugt.
  198.  
  199. Wenn man das Installskript verwendet, kann man auswählen, ob man eine
  200. MultiPort-Startdatei oder eine Singleport Startdatei installieren will.
  201.  
  202. Die Batchdatei RunMe sollte für den Multiportbetrieb wie folgt aussehen:
  203.  
  204.   cd <PFAD>/GetCDFile
  205.   sys:rexxc/rx Up2Od
  206.   GetCDFile
  207.   delete ram:OnlineData
  208.  
  209. Bitte beachten: Der ARexx Interpreter (RexxMast) _muß_ gestartet sein.
  210. Die Bedienung von GetCDFile für den Sysop
  211. -----------------------------------------
  212.  
  213. GetCDFile startet nur, wenn zumindest die ram:UserParam Datei
  214. vorhanden ist. Starten Sie GetCDFile also entweder aus der Mailbox
  215. heraus, oder kopieren Sie vor dem Start Ihre Userparameter nach "RAM:"
  216.  
  217. Im Programm taucht immer wieder ein ANSI-Menü auf. In allen diesen
  218. Menüs ist die Steuerung des Cursorbalkens gleich:
  219.  
  220.              Hoch                              [8]
  221.               |                                 |
  222.               |                                 |
  223.      Links----#----Rechts    ------\     [4]----#----[6]
  224.               |              ------/            |
  225.               |                                 |
  226.             Runter                             [2]
  227.  
  228. Die Auswahl erfolgt mittels der [RETURN] oder [ENTER] Taste.
  229.  
  230. Nach  dem Programmstart öffnet sich das Sysop Control-Fenster.  Das Fenster
  231. ist absichtlich inaktiv, damit Sie nicht in ihrer Arbeit gestört werden.
  232.  
  233. Mit  den  o.g.  Tasten können Sie sich eine Indexliste auswählen.  Wenn Sie
  234. [RETURN] drücken wird die Liste geladen.
  235.  
  236. Der  ausgewählte  Index wird 4-Spaltig angezeigt.  Sie dürfen jetzt je nach
  237. Konfiguration  eine  bestimmte  Anzahl  Einträge  markieren.   Bedenken Sie
  238. dabei, daß die Markierung unter dem Cursor stattfindet und für Sie zunächst
  239. nicht sichtbar ist.
  240.  
  241. In diesem Menü kann mit [h] oder [?] eine Hilfsseite abgerufen werden.
  242.  
  243. Das Menü wird mit [ESC], [Q] oder [X] verlassen.
  244. Sie kommen dann in ein neues Menü, in dem Ihnen Ihre Auswahl nochmals
  245. gezeigt wird. Sie können hier alles was aus versehen markiert wurde
  246. demarkieren. Verwenden Sie dazu auch die [RETURN]/[ENTER] Taste.
  247.  
  248. Jetzt werden die Archive erstellt. Das kann je nach Geschwindigkeit
  249. des CDRom und des verwendeten FileSystems mehr oder weniger lange
  250. dauern. Als Sysop wie auch als User sehen Sie für jede Zeile, die ausgegeben
  251. wird ein "Hashmark" = '#'. Im Fenster sehen Sie den ausgeführten Befehl.
  252.  
  253. Wenn der Packvorgang beendet ist, liegt Ihr Archiv in
  254. "t:GCDF<SYSOPNAME>.lha" also z.Bsp.  "t:GCDFSYSOP.lha"
  255.  
  256. ANHANG A
  257. --------
  258.  
  259. Der nun folgende Text ist für Ihre User gedacht. Vergessen Sie nicht
  260. den Aufruf einzusetzen.
  261.  
  262.  
  263. :CUT HERE->---------8<-----------------------------------------------
  264. Die Bedienung von GetCDFile
  265. ---------------------------
  266.  
  267. GetCDFile ist © by TømTøm Software
  268.  
  269. GetCDFile ist ein CD-Rom Fileserver. Damit ist es möglich Online von
  270. einer CD Programme zu archivieren und downzuloaden.
  271.  
  272. GetCDFile ist ein externes Programm und wird mit dem Befehl
  273.  
  274.           < Hier den Aufruf aus der Mailbox einsetzen ! >
  275.  
  276. gestartet.
  277.  
  278. Bedienung der ANSI Menüs
  279. ------------------------
  280.  
  281. Im Programm taucht immer wieder ein ANSI-Menü auf. In allen diesen
  282. Menüs ist die Steuerung des Cursorbalkens gleich:
  283.  
  284.              Hoch                              [8]
  285.               |                                 |
  286.               |                                 |
  287.      Links----#----Rechts                [4]----#----[6]
  288.               |                                 |
  289.               |                                 |
  290.             Runter                             [2]
  291.  
  292. Die Auswahl erfolgt mittels der [RETURN] oder [ENTER] Taste.
  293.  
  294. Bedienung des Programms, oder: Wie krieg ich ein Archiv ?
  295. ---------------------------------------------------------
  296.  
  297. Nach dem Programmstart wählt man zunächst mal aus, was man haben will.
  298. Einzelfiles oder ganze Disketten.
  299. Man bewegt den Cursor auf das gewünschte Indexfile und drückt [RETURN].
  300. Der ausgewählte Index wird geladen. Geduld ist angesagt.
  301.  
  302. Der ausgewählte Index wird 4-Spaltig angezeigt. Man darf jetzt einige
  303. Einträge markieren. Wieviele hängt davon ab, was der Sysop eingestellt
  304. hat.
  305.  
  306. ACHTUNG: Die Markierung findet unter dem Cursor statt! Sie wird erst
  307.          sichtbar, wenn man den Cursor bewegt!!
  308.  
  309. In diesem Menü kann mit [h] oder [?] eine Hilfsseite abgerufen werden.
  310.  
  311. Das Menü wird mit [Q] oder [X] verlassen.
  312.  
  313. Man kommt dann in ein neues Menü, in dem alles, was vorher ausgewählt
  314. wurde nochmals angezeigt wird. Man kann sich nun die Ganze Sache noch
  315. einmal anders überlegen und demarkiert alles, was man NICHT haben
  316. will.
  317.  
  318. Jetzt werden die Archive erstellt. Das kann je nach Geschwindigkeit
  319. des CDRom und des verwendeten FileSystems mehr oder weniger lange
  320. dauern. GEDULD!! ist hier wichtig. Man sieht immer den Namen des
  321. Programmes, das gerade gepackt wird. Während des eigentlichen packens
  322. werden "#" Zeichen übertragen, um zu zeigen, daß das Programm noch
  323. läuft.
  324.  
  325. Wenn der Packvorgang beendet ist, beginnt sofort die Übertragung
  326. mittels ZModem. Das übertragene File heisst "GCDF<UserName>.lha"
  327. und enthält alles, was man ausgewählt hat.
  328.  
  329.  
  330. Viel Spass mit dem Programm,
  331.       Euer Sysopteam
  332. :---------8<----------------------------------------------------------
  333. ANHANG B: Der Aufbau der Datei RAM:UserParam
  334. --------------------------------------------
  335. (aus ANUBIS; Programmers.dok © TOM Software Wuppertal)
  336.  
  337. [...]
  338. Die Parameter Datei wird vom ANUBIS Hauptprogramm beim Aufruf eines Online-
  339. Programms über EXECUTE unter ram:UserParam geschrieben. Dort stehen einige
  340. Sachen, die für Online-Programmierer vielleicht wichtig sein können. Diese
  341. Datei ist zu der des Programm AmNet kompatibel.
  342.  
  343.  Aufbau der Datei
  344.  
  345.   2400    - dies ist die Baudzahl, die der User fährt
  346.   OLIVER  - der Username
  347.   9       - der Userlevel (0 - Gast, 9 - Sysop)
  348.   1       - Anzahl der Minuten Online
  349.   2000    - maximale Onlinezeit in Minuten
  350.   1       - 0 Modem-Login, 1 Console-Login
  351.   0       - 0 ANSI aus, 1 ANSI ein
  352.  
  353. [...]
  354.  
  355. 3.2 Die ANUBIS eigene Datei 'ram:OnlineData'
  356. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  357. [...]
  358.  
  359. BAUDRATE:38400 - gibt die Baudrate der Übertragung an.
  360. SERIAL:aus/ein - bei einem seriellen Aufruf steht hier 'ein', sonst 'aus'
  361. TERMINAL:kein/mono/farb - gibt die Terminalemulation des Users an.
  362. USERNAME:OLIVER - Der Username des Users
  363. RESTZEIT:2000 - Restzeit in Minuten
  364. DEVICE:serial.device - der benutzte Devicename
  365. UNIT:0 - die Unitnummer dazu
  366. HANDSHAKE:KEIN/CTSRTS/XONXOFF - Handshake Art. ANUBIS verwendet nur CTSRTS
  367. STATUS:GAST/USER/COSYSOP/SYSOP - Status des Users. Sauger haben nicht
  368.                                  die Möglichkeit, OnlineProgramme
  369.                                  aufzurufen.
  370. UMLAUT:AMIGA/IBM/SIMUL - Umlautewahl des Users.
  371. LEVEL:42 - Userlevel
  372. LOGIN:30.08.92 19:44[:00] - Login des Users. Die Sekundenzahl
  373.                                       kann entfallen.
  374. BELL:aus/ein - Glocke 'ein' oder 'aus'
  375.  
  376. Zu beachten ist, daß die Reihenfolge der Schlüsselworte beliebig ist. Ebenso
  377. wird nicht auf Klein- oder Großschreibung geachtet. Trotzdem ist diese
  378. Übergabedatei um einiges sinnvoller als die alte Datei.
  379. Anhang C: Das Format der Indexfiles
  380. -----------------------------------
  381.  
  382. Bemerkungen vorneweg:
  383.  
  384. - \n = Linefeed, Hex: 0x0a Dec: 10
  385.  
  386. - Im String Packkommando kann man irgendwo "%s" einsetzen. %s wird vor dem
  387.   Ausführen des Kommandos durch den Archivnamen ersetzt.
  388.  
  389. - GetCDFile lebt von der Verfügbarkeit von Indexfiles. Wer eines
  390.   geschrieben/erstellt hat, den bitte ich recht herzlich es doch auch anderen
  391.   Nutzern zukommen zu lassen.
  392.  
  393. Die Indexfiles sind gleichzeitig ein riesiger Vorteil und ein Hindernis.
  394. Hindernis deswegen, weil sie erstmal erstellt werden müssen, Vorteil
  395. deswegen, weil sie das Programm so flexibel machen, wie kein anderes (das 
  396. mir bekannt ist...)
  397.  
  398. Im Folgenden werde ich versuchen klar und verständlich auszudrücken, wie
  399. ein Indexfile erstellt wird. Um es gleich vorneweg zu sagen: Wer überhaupt
  400. keine Erfahrung mit dem AmigaDOS hat, sollte sich mit dem Erstellen von
  401. Indizes an einen DOS-"GURU" wenden, oder warten, bis ich die Zeit gefunden
  402. habe, einen Indexmaker zu schreiben.
  403.  
  404. Bei der Erstellung eines Indexfiles muß man zunächst zwischen Fileindizes
  405. und Diskindizes unterscheiden.
  406.  
  407. Unterschiede:
  408.   Fileindizes haben die Endung ".idx"
  409.   Diskindizes haben die Endung ".idxd"
  410.  
  411.   In Fileindizes gibt es keine Inhaltsangaben.
  412.   In Diskinizes gibt es keine Kommentarzeilen.
  413.  
  414.   In Fileindizes gilt der Tabelleneintrag als Suchbegriff.
  415.   In Diskindizes wird der Suchbegriff explizit eingestellt.
  416.  
  417.   Fileindizes werden in der Indexauswahl mit den Schlüsselwort "FILES"
  418.   gekennzeichnet.
  419.   Diskindizes werden in der Indexauswahl mit dem Schlüsselwort "DISKS"
  420.   gekennzeichnet.
  421.  
  422.   Fileindizes kann man oftmals durch einen "LIST" Befehl erzeugen.
  423.   Die Erstellung von Diskindizes gestaltet sich im Allgemeinen aufwendiger.
  424.  
  425. Bei  der  Erstellung  von  Indexfiles ist der LIST-Befehl des AmigaDOS eine
  426. große  Hilfe.   Wenn  Sie  sich damit nicht auskennen (insbesondere mit der
  427. Option  "LFORMAT")  sollten Sie zunächst ein wenig damit herumprobieren und
  428. üben!
  429. Die  genaue  Kenntnis  des  LIST  Befehls  und zumindest Basiswissen in der
  430. Anwendung  von  DOS-Patterns  kann  Ihnen  stundenlanges  Nacharbeiten  von
  431. Indexfiles ersparen!
  432.  
  433. Beginnen wir nun mit der Erstellung eines Fileindex.
  434.  
  435. Fileindex ( Endung ".idx" )
  436. ===========================
  437.  
  438. Eine Beispielzeile (aus dem SaarAG.idx File)
  439. ==================
  440.  
  441. 16-Color-Icons@packit %s "cd0:saar_pd/501_525/SAAR_510/16-Color-Icons" "t:16-Color-Icons"
  442. <Tabellenetrg>@<Packkommando>
  443.  
  444. Formales Aussehen:
  445. ------------------
  446. >>Bemerkung: Alle Zeilen beginnen in der ersten Spalte!
  447.  
  448.   # <Kommentar>\n
  449.   ...
  450.   <Tabelleneintrag-1>@<Packkommando-1>\n
  451.   <Tabelleneintrag-2>@<Packkommando-2>\n
  452.   ...
  453.   <Tabelleneintrag-n>@<Packkommando-n>\n
  454.  
  455. Erläuterungen zu den Feldern:
  456. -----------------------------
  457. #
  458.   Leitet im _FILE_ Index eine Kommentarzeile ein
  459.  
  460. <Kommentar>
  461.   Beliebiger Text. Der Kommentar wird überlesen und sollte nicht länger als
  462.   80 Zeichen sein.
  463.  
  464. <Tabelleneintrag-x>
  465.   Dieser möglichst vielsagende Begriff soll die dahinterstehenden Daten
  466.   klassifizieren. Der Tabelleneintrag wird dem Nutzer zur Auswahl im
  467.   ANSI-Menü angezeigt.
  468.   Im Allgemeinen verwendet man hierfür den Verzeichnis- oder Datei-namen.
  469.   Im Tabelleneintrag dürfen alle Zeichen vorkommen, ausser dem '@'. Achten
  470.   Sie aber darauf nur Zeichen zu verwenden, die der Nutzer mit seinem
  471.   Terminalprogramm auch sehen kann. Es ist daher nicht anzuraten
  472.   Sonderzeichen wie '»', '«' oder '°' zu verwenden. Auch Umlaute sollten Sie
  473.   vermeiden!
  474.  
  475.   Im obigen Beispiel ist der Tabelleneintrag
  476.   >> '16-Color-Icons'
  477.  
  478. <Packkommando-x>
  479.   Das Packkommando wird aufgerufen, um den Tabelleneintrag zu verarbeiten.
  480.   Das Packkommando kann entweder direkt ein LHA-Befehl sein,
  481.  
  482.   >> SaarAG 621@lha -IDnxr a %s cd0:saar_pd/601-625/Saar_621/TextMaster\n
  483.  
  484.   oder aber auch ein Aufruf zu einer beliebig komplexen Batch-Datei oder
  485.   gar einem weiteren Programm. Im obigen Beispiel wird das Script PackIt
  486.   aufgerufen. Als Parameter dienen das Zielarchiv, das Quellverzeichnis und
  487.   ein Temporärer Pfad.
  488.  
  489.   Der Archivname kann, im Gegensatz zu den anderen Daten im Beispiel, nicht
  490.   bereits im Indexfile eingetragen werden. In jedem Packkommando ist
  491.   deshalb genau ein Platzhalter erlaubt. "%s" steht für diesen Archivnamen im
  492.   Packkommando.
  493.  
  494. Diese Art des Indexfiles gestattet eine schier unbegrenzte Anzahl von
  495. Möglichkeiten. So kann man zum Beispiel aus CDs, die keine Klartext-Namen
  496. verwenden (zum Beispiel die Almanthera Demo-CDs), mit dem entsprechenden
  497. Indexfile alle Dateien unter ihrem richtigen Namen zum Download anbieten.
  498. Wenn Sie noch Fragen zu der Erstellung von Indexfiles haben, oder Hilfe bei
  499. der Realisierung eines bestimmten Indexfiles benötigen, stehen wir gerne
  500. zur Verfügung!
  501.  
  502. Erstellen eines Rohindex
  503. ------------------------
  504. Ein Roh-Fileindex ist zunächst eine bereits strukturierte Liste von
  505. Programmen, die dann noch nachbearbeitet werden muß.
  506.  
  507. Um einen Rohindex zu erstellen, muß man zunächst die Struktur einer CD
  508. ermitteln. Nehmen wir wieder die SaarAG CD. Die Saar-CD hat eine klar
  509. gegliederte Directorystruktur und ein Indexfile ist so relativ einfach zu
  510. erstellen:
  511.  
  512. CD0:--+-Saar_PD-+--001-025-+--SAAR_001-+--<ProgrammVerz>-+-...
  513.       |         |          |           +-- ...
  514.       |         |          :
  515.       |         |          :      :
  516.       |         |          +--SAAR_025-+--<ProgrammVerz>-+-...
  517.       |         |                      +-- ...
  518.       |         +--026-050-+--SAAR_026...
  519.       |         :          +-...
  520.       |         |
  521.       |         +--601-625
  522.       |         +--626-630
  523. usw.
  524.  
  525. Als Tabelleneintrag bietet sich auf jeden Fall der Name des Programmverz.
  526. an. Das Packkommando ist ein LHa Befehl mit dem kompletten Pfad. Die Zeilen
  527. sollen automatisch mittels LFORMAT generiert werden. Der LFORMAT String muß
  528. lauten:
  529.  
  530.   LFORMAT "%n@lha -IDxnr ==== %p"
  531.  
  532. Die "====" habe ich eingesetzt, weil ich keine Möglichkeit gefunden habe in
  533. einen LFORMAT String ein '%s' als Klartext einzufügen. Nach der
  534. Fertigstellung des Rohindexfiles kann man aber mit einem Texteditor alle
  535. "====" durch "%s" ersetzen lassen.
  536.  
  537. Es ergibt sich noch ein Problem. Wir dürfen nicht beliebig tief in den
  538. CD-Directory Baum eintauchen. Die sinnvollen Verzeichnisse liegen alle auf
  539. der vierten Ebene:
  540.  
  541.   Ebene 1: Saar_PD
  542.   Ebene 2:        /xxx-yyy
  543.   Ebene 3:                /SAAR_xyz
  544. >>Ebene 4:                         /<ProgrammVerzeichnis>
  545.   Ebene 5:                                               / Programmdaten
  546.         .
  547.         :
  548.  
  549. Wir müssen also dem LIST-Kommando mitteilen, daß wir nur die Directories
  550. der Ebene 4 benötigen. Dazu verwenden wir die DOS Patterns:
  551.  
  552. Ebene: 1  2  3  4
  553.  "CD0:#?/#?/#?/#?"
  554.  
  555. Mit dem Schlüsselwort DIRS teilen wir LIST mit, daß nur Directories von
  556. Bedeutung sind.
  557.  
  558. Bisher sieht unser Befehl wie folgt aus:
  559.  
  560.   LIST cd0:#?/#?/#?/#? ALL DIRS LFORMAT="%n@LHa -IDxnr ==== %p%n"
  561.  
  562. Der daraus resultierende Fileindex ist schon fast fertig!  Ein Problem
  563. ergibt sich allerdings noch:  Auf Ebene 4 sind auch Verzeichnisse wie Devs,
  564. C, Libs und FONTS zu finden.  Alles Verzeichnisse, die eigentlich nicht für
  565. den User bestimmt sind. Wir verwenden wieder die Pattern Funktionen und das
  566. PAT-Schlüsselwort des LIST Kommandos um uns dieser zu entledigen:
  567.  
  568. PAT="~(c|L|Devs|Libs|Fonts|Prefs|Storage|WBStartup|T)"
  569.  
  570. Der Listbefehl ist soweit nun fertig. Mittels "TO" geben wir noch einen
  571. Filenamen an und lassen das CDRom laufen. Achten Sie unbedingt darauf, daß
  572. der Stack groß genug gewählt wurde!
  573.  
  574.   LIST cd0:#?/#?/#?/#? ALL DIRS LFORMAT="%n@LHa -IDxnr ==== %p%n"
  575.        PAT="~(c|L|Devs|Libs|Fonts|Prefs|Storage|WBStartup|T)"
  576.        TO ram:Indexfile
  577.  
  578. Der Listbefehl muß natürlich in eine Zeile geschrieben werden.
  579.  
  580. Wenn das CDRom fertig ist, haben wir einen fertigen Fileindex in der
  581. Ram-Disk liegen. Dieser wird nun zunächst sortiert. Dazu verwendet man am
  582. einfachsten den DOS-Befehl SORT.
  583.  
  584.   SORT Ram:Indexfile ram:Index.sortiert
  585.  
  586. Jetzt kommt die schwerste Arbeit: Das Nacharbeiten.
  587. Starten Sie einen möglichst guten Texteditor, mit einer vernünftigen
  588. Suchfunktion (z.Bsp. CEd)
  589.  
  590. Ersetzen Sie zunächst alle "====" durch "%s".
  591.  
  592. Es wird Ihnen auffallen, daß sehr viele Namen doppelt vorkommen. Auf der
  593. SaarAG CD sind beispielsweise 10 Tabelleneinträge mit IMAGINE, die aber auf 10
  594. verschiedene Disketten gehören. Solche Einträge gilt es nun zu finden und
  595. zu edieren.
  596.  
  597. Haben Sie auch das hinter sich gebracht, ist das Indexfile einsatzbereit.
  598.  
  599. Wie sie sehen, kann man sich mit LIST und SORT bereits sehr viel Arbeit
  600. ersparen. Man kann mit der LFormat Funktion sehr exakte Indexfiles erreichen,
  601. die nicht mehr viel Nachbearbeitung benötigen. Um dieses zu erreichen
  602. sollten Sie aber vorher die CD genau analysieren, um Ansatzpunkte für eine
  603. automatische Verarbeitung herauszufinden.
  604.  
  605. Diskindex ( Endung ".idxd" )
  606. ============================
  607.  
  608. Eine Beispielzeile (aus dem SaarAG.idx File)
  609. ==================
  610. .
  611. :
  612.  
  613. <Tabetrg>@<Packkommando>                                     @<Suchnummer>
  614. #SAAR_051@packit %s cd0:saar_pd/051_075/SAAR_051 "t:SAAR_051"@51
  615. AlarmingClock             <Inhalt Zeile 1>
  616. MCSHELL                            :
  617. Schreibkurs                        :
  618. SizeChecker                        :
  619. WB                        <Inhalt Zeile 5>
  620. #SAAR_052@packit ...
  621. .
  622. :
  623.  
  624. Formales Aussehen:
  625. ------------------
  626. >>Bemerkung: Alle Zeilen beginnen in der ersten Spalte!
  627.  
  628.   #<Tabelleneintrag-1>@<Packkommando-1>@<Suchnummer-1>\n
  629.   <Inhalt Zeile 1>\n
  630.   <    - " -    2>\n
  631.       .
  632.       :
  633.   #<Tabelleneintrag-n>@<Packkommando-n>@<Suchnummer-n>\n
  634.   <Inhalt Zeile 1>\n
  635.   <    - " -    2>\n
  636.       .
  637.       :
  638.  
  639. Erläuterungen zu den Feldern:
  640. -----------------------------
  641. #
  642.   Leitet im _DISK_ Index einen Datensatz ein, also
  643.     - Tabelleneintrag
  644.     - Packkommando
  645.     - Suchnummer
  646.     - Inhaltsbeschreibung
  647.  
  648.   Was auf den "#" hin folgt, entspricht ungefähre einem Eintrag eines
  649.   Fileindex.
  650.  
  651. <Tabelleneintrag-x>
  652.   Dieser möglichst vielsagende Begriff soll die dahinterstehenden Daten
  653.   klassifizieren. Der Tabelleneintrag wird dem Nutzer zur Auswahl im
  654.   ANSI-Menü angezeigt.
  655.   Im Allgemeinen verwendet man hierfür den Diskettennamen, oder
  656.   Serie+Nummer ("FishDisk 100", oder "SaarAG 88" oder auch "Katalog")
  657.   Im Tabelleneintrag dürfen alle Zeichen vorkommen, ausser dem '@'. Achten
  658.   Sie aber darauf nur Zeichen zu verwenden, die der Nutzer mit seinem
  659.   Terminalprogramm auch sehen kann. Es ist daher nicht anzuraten
  660.   Sonderzeichen wie '»', '«' oder '°' zu verwenden. Auch Umlaute sollten Sie
  661.   vermeiden!
  662.  
  663.   Im obigen Beispiel ist der Tabelleneintrag
  664.   >> 'SAAR_051'
  665.  
  666. <Packkommando-x>
  667.   Das Packkommando wird aufgerufen, um den Tabelleneintrag zu verarbeiten.
  668.   Das Packkommando kann entweder direkt ein LHA-Befehl sein,
  669.  
  670.   >> SAAR_051@lha -IDnxr %s cd0:saar_pd/051_075/SAAR_051
  671.  
  672.   oder aber auch ein Aufruf zu einer beliebig komplexen Batch-Datei oder
  673.   gar einem weiteren Programm. Im obigen Beispiel wird das Script PackIt
  674.   aufgerufen. Als Parameter dienen das Zielarchiv, das Quellverzeichnis und
  675.   ein Temporärer Pfad.
  676.  
  677.   >> packit %s cd0:saar_pd/051_075/SAAR_051 "t:SAAR_051"
  678.  
  679.   Der Archivname kann, im Gegensatz zu den anderen Daten im Beispiel, nicht
  680.   bereits im Indexfile eingetragen werden. In jedem Packkommando ist
  681.   deshalb genau ein Platzhalter erlaubt. "%s" steht für diesen Archivnamen im
  682.   Packkommando.
  683.  
  684. <Suchnummer-x>
  685.   Die Suchnummer ist eigentlich nur ein bis zu 10 Zeichen langer Text, nach
  686.   dem gesucht wird. Bei Diskettenserien, wie Fish oder SaarAG ist es
  687.   sinnvoll hier die entsprechende Nummer einzutragen (Saar_051->51). Für
  688.   die Katalogdiskette kann man hier aber auch KATALOG eintragen!
  689.  
  690.   Man kann so auch Disketten Thematisch einordnen. Der Nutzer kann dann
  691.   nach Raytracing suchen und bekommt die entsprechenden Disketten
  692.   angezeigt.
  693.  
  694. <Inhaltszeilen>
  695.   Alle Zeilen, die nicht mit einem "#" beginnen gelten als Inhaltsangaben.
  696.   Sie werden beim Anzeigen des Index überlesen, und können mit der Funktion
  697.   "I" (Inhalt) vom Nutzer abgerufen werden. 
  698.   Der Inhalt wird immer der letzten mit "#" beginnenden Zeile zugeordnet,
  699.   so daß der Inhalt praktisch zwei Datensätze abgenzt.
  700.   
  701.   Ist keine Inhaltsinformation enthalten, wird dies dem Nutzer beim Abruf
  702.   mitgeteilt.
  703.   
  704.   Der Inhaltstext kann theoretisch so lang sein, wie Sie es für sinnvoll
  705.   erachten, bedenken Sie aber, daß in dieser Version noch kein "MORE"
  706.   Effekt eingebaut ist, der Inhalt also einfach "durchläuft".
  707.  
  708. Erstellen eines Rohindex
  709. ------------------------
  710. Ein Roh-Diskindex ist leider nicht so einfach nur eine Liste, da zwischen 
  711. den einzelnen Einträgen ja auch noch Inhaltsinfos einzutragen sind.
  712. Ein Lösungsansatz ist, sich von LIST eine Batchdatei schreiben zu lassen,
  713. die dann den Index erstellt.
  714.  
  715. Um den Rohindex zu erstellen, muß man wieder zunächst die Struktur einer CD
  716. ermitteln. Nehmen wir wieder die SaarAG CD.
  717.  
  718. CD0:--+-Saar_PD-+--001-025-+--SAAR_001-+--<ProgrammVerz>-+-...
  719.       |         |          |           +-- ...
  720.       |         |          :
  721.       |         |          :      :
  722.       |         |          +--SAAR_025-+--<ProgrammVerz>-+-...
  723.       |         |                      +-- ...
  724.       |         +--026-050-+--SAAR_026...
  725.       |         :          +-...
  726.       |         |            ^^^^^^^^^^
  727.       |         +--601-625             \
  728.       |         +--626-630              \_____
  729. usw.                                          \
  730.                                                \
  731. Als Tabelleneintrag bietet sich hier natürlich Ebene 3 an.
  732. Das Packkommando ist ein LHa Befehl mit dem kompletten Pfad. Als Suchnummer 
  733. geben wir zunächst mal einfach wieder den Ebene 3 Namen an. Die Zeilen
  734. sollen natürlich automatisch generiert werden.
  735.  
  736. Nach dieser Zeile wird dann einfach der Inhalt des Verzeichnisses an das
  737. Indexfile gehängt. Dies geschieht durch ein einfaches DIR oder LIST.
  738.  
  739. Eine Batchdatei, die das für uns macht, würde für jeden Eintrag so aussehen:
  740.  
  741. echo >>ram:Indexfile "#<...>@<...>@<..>"
  742. list >>ram:Indexfile <...> lformat="%n"
  743.  
  744. Ob man es nun glaubt oder nicht, auch Diese Batchdatei lässt sich
  745. problemlos mit dem LIST-Kommando schreiben!
  746.  
  747. Der LFORMAT String für das ECHO-Kommando setzt sich aus dem ECHO-Text und
  748. dem ECHO Aufruf zusammen:
  749.  
  750.   Aufruf: Echo >>ram:Indexfile
  751.   Text  : "#%n@lha -IDxnr ==== %p%n@%n"
  752.  
  753. Der Listbefehl setzt sich aus der List-Syntax und dem Verzeichnisnamen
  754. zusammen:
  755.  
  756.   List >>ram:Indexfile %p%n dirs pat=~(c|devs|storage|Libs|L|WBStartup) Lformat="%n"
  757.  
  758. Diese Beiden Zeilen werden nun in EINEM LFormat String zusammengefasst:
  759.  
  760.   LFORMAT="Echo >>ram:Indexfile *"#%n@lha -IDxnr ==== %p%n@%n*"*N
  761.            List >>ram:Indexfile %p%n dirs pat=~(c|devs|storage|Libs|L|WBStartup)
  762.                 Lformat=*"% n*"*N"
  763.  
  764. In den Listbefehl für Ebene 3 eingebettet sieht das Ganze dann so aus:
  765.  
  766.   List cd0:#?/#?/#? dirs to ram:batch LFORMAT=
  767.               "Echo >>ram:Indexfile *"#%n@lha -IDxnr ==== %p%n@%n*"*N
  768.                List >>ram:Indexfile %p%n dirs pat=~(c|devs|storage|Libs|L|WBStartup)
  769.                Lformat=*"% n*"*N"
  770.  
  771. Puuuh! Ein ganz schöner Hammer :-)
  772. Laden Wir nun die Batchdatei ram:BATCH in einen Editor. Dort ersetzen wir
  773. zunächst >"% n"< durch >"%n"< und dann noch >====< durch >%s<.
  774.  
  775. Dann die Batchdatei wieder speichern und ausführen. Das CDRom sollte
  776. anspringen und einen guten Indexrohling erzeugen, in dem praktisch nur noch
  777. die Suchnummer vom Diskettennamen getrennt werden muß.
  778.  
  779. Da ich mir vorstellen kann, daß gerade zu diesem Abschnitt noch Fragen
  780. bestehen, wende man sich auch hier vertrauesnvoll an die Adresse in Anhang
  781. D.
  782.  
  783. Anhang D:
  784. ---------
  785.  
  786. Adresse des Autors:
  787.  
  788.   TømTøm-Software
  789.   Thomas Strauß
  790.   Josefstr. 64
  791.   66809 Nalbach
  792.   Tel: +49 (0) 6838 85218 (24H Q)
  793.   MBX: +49 (0) 6838 84739 (24H, ***elOutside Mailbox Systeme)
  794.  
  795. eMail Adressen in verschiedenen Netzen:
  796.  
  797.   ZNetz : tom@outworld.zer.sub.org
  798.   PMNetz: sysop@outside.zer
  799.   UseNet: thst@outsite.saar.de (Man beachte das "t"!)
  800.           thst@coli.uni-sb.de
  801.  
  802. GetCDFile ist Shareware.  Die Sharewaregebühr beträgt 20 DM.  Darin
  803. enthalten ist nur das Programm und der Versand der registrierten
  804. Version.  Updates werden entweder gegen Versandkosten zugeschickt
  805. (frankierter Rückumschlag) oder alternativ liegen sie auch in der
  806. ***elOutside zum Download bereit.
  807.  
  808. Upgrades können (müssen aber nicht) zusätzliche Kosten verursachen.
  809.  
  810. Sie können GetCDFile auch per Nachnahme erhalten. Allerdings müssen
  811. Sie dann mit 6 DM Versandkostenzuschlag rechnen.
  812. Ansonsten per Vorkasse an o.g. Adresse.
  813.  
  814. WICHTIGER HINWEIS FÜR CD-HERSTELLER
  815. -----------------------------------
  816.  
  817. Wer eine CD produzieren möchte, bei der GetCDFile als
  818. Mailboxschnittstelle verwendet werden soll, benötigt für jede CD eine
  819. GetCDFile Lizenz.  Die Lizenzgebühr ist gestaffelt und beträgt
  820. mindestens 50 Pf/CD (bei Abnahme von 1000 Lizenzen für 1000 CDs).  Bei
  821. grösserer Abnahmemenge sinkt der Preis entsprechend.
  822.  
  823. Wenn Sie Interesse haben, setzen Sie sich bitte unter der o.g. Adresse
  824. mit mir in Verbindung. Ein Indexfile kann dann auch von uns erstellt werden.
  825.